<?php

/**
 * dashboard actions.
 *
 * @package    cronos-doctrine
 * @subpackage dashboard
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class dashboardActions extends sfActions
{
 /**
  * Executes servicio action
  *
  * @param sfRequest $request A request object
  */
    
   public function executeIndex(sfWebRequest $request)
  {
       
       
       if ($this->getUser()->isFirstRequest())    {
         
        $this->getUser()->isFirstRequest(false);
        $this->agente_id = $this->getUser()->getAttribute('agente_user');
        $date= new DateTime($this->getUser()->getAttribute('agente_user_fecha_ultima'));
        $this->getUser()->setAttribute('page', 1);
        
        
        
      }else {
          
          
        $this->agente_id = $this->getUser()->getAttribute('agente_user');
        $date= new DateTime($this->getUser()->getAttribute('agente_user_fecha_ultima'));
        
      }
       
      $this->fechaRuta = date('Y-m-d');
      //$this->fechaRuta = date('2014-05-10');
      
      //Ingresos del operador
      $operadoresIngresos = new OperadoresIngreso();
      $this->operadoresIngresos = $operadoresIngresos->getOperadoresIngresosFecha($this->fechaRuta);
      
      //Ingresos del operador
      $operadoresIngresosdet = new OperadoresIngreso();
      $this->operadoresIngresosdet = $operadoresIngresosdet->getOperadoresIngresosFechaDet($this->fechaRuta);
      
      //Egresos del operador
      $operadoresEgresos = new OperadoresEgresos();
      $this->operadoresEgresos = $operadoresEgresos->getOperadoresEgresosFecha($this->fechaRuta);
      
      
      $camioneta = new Camioneta();
      $this->camioneta = $camioneta->getCamionetaGuardUser($this->getUser()->getGuardUser()->getId());
      $this->camioneta_id = $this->camioneta->getId();
      
      $agendado = new Agendado();
      $this->agendados = $agendado->getAgendadoRutaImpCompleto($this->camioneta_id, $this->fechaRuta);
      
      
       
   }
   
   
    public function executeCierre(sfWebRequest $request)
  {
       
       
       
      $this->fechaRuta = date('Y-m-d');
      $this->fechaRuta = date('2014-07-10');
      
      
      //Ingresos del operador
      $operadoresIngresosdet = new OperadoresIngreso();
      $this->operadoresIngresosdet = $operadoresIngresosdet->getOperadoresIngresosFechaDet($this->fechaRuta);
      
      //Egresos del operador
      $operadoresEgresos = new OperadoresEgresos();
      $this->operadoresEgresos = $operadoresEgresos->getOperadoresDeudaFecha($this->fechaRuta);
      $this->operadoresEgresos = $operadoresEgresos->getOperadoresDeudaFecha($this->fechaRuta);
      
      //Saldos a favor
      $saldo_temporal                 = new SaldoTemporal();
      $this->saldo_temporal_fechas    = $saldo_temporal->getSaldoTemporalFecha($this->getUser()->getGuardUser()->getId());
      
      
      $this->agente_id              = $this->getUser()->getAttribute('agente_user');
      $empresaEgresos               = new EmpresaEgresos();
      $this->empresaEgresos         = $empresaEgresos->getEmpresaEgresosOp($this->agente_id,$this->fechaRuta);
      
      
      
      
      $zona = Doctrine_Core::getTable('OperadoresEgresos')->find(array($request->getParameter('id')));
      $this->form = new OperadoresEgresosForm($zona);
      
       
   }
   
   
     public function executeFactura(sfWebRequest $request)
  {
    
     $this->fechaRuta = date('Y-m-d');
       $operadoresIngresos = new OperadoresIngreso();
      $this->operadoresIngresos = $operadoresIngresos->getOperadoresIngresos($this->fechaRuta);
      
      $operadoresEgresos = new OperadoresEgresos();
      $this->operadoresEgresos = $operadoresEgresos->getOperadoresEgresosFecha($this->fechaRuta);
      
    
  }
  public function executeServicio(sfWebRequest $request)
  {
   
      
       
    
    $this->fechaRuta = date('Y-m-d');
    //$this->fechaRuta = date('2014-05-10');
    
    $camioneta = new Camioneta();
    $this->camioneta = $camioneta->getCamionetaGuardUser($this->getUser()->getGuardUser()->getId());
    $this->camioneta_id = $this->camioneta->getId();
     
    $agendado = new Agendado();
    
    //Actualizacion del estado del Agendado
    if($request->getParameter('confirmacion_id')){
    
        $agendado_id = $request->getParameter('agendado_id');
        $confirmacion_id = $request->getParameter('confirmacion_id');
        $agendado->getUpdateConfirmacion($agendado_id,$confirmacion_id);
            
    }
        //Consulta a la base de datos con el servicio asignado por callcenter
        $this->agendado = $agendado->getAgendadoRutaImpMovil($this->camioneta_id, $this->fechaRuta);
    
    
        
        
        $this->formIngreso = new OperadoresIngresoForm();
        
        $this->activo = 0 ;
        
        $ags = 0;
        
        if($this->agendado){
        
        $this->formIngreso->setWidget('concepto_cf_id', new sfWidgetFormInputHidden(array(),array('value' => 1 )));
        $this->formIngreso->setWidget('agendado_id', new sfWidgetFormInputHidden(array(),array('value' => $this->agendado->getId())));
        $this->formIngreso->setWidget('cliente_id', new sfWidgetFormInputHidden(array(),array('value' => $this->agendado->getUsuarioId())));
        $this->formIngreso->setWidget('servicio_tipo_id', new sfWidgetFormInputHidden(array(),array('value' => $this->agendado->getServicioTipoId())));
        $this->formIngreso->setWidget('camioneta_id', new sfWidgetFormInputHidden(array(),array('value' => $this->camioneta_id)));
        
        $this->activo = 1 ;
        
        }
        
  }
  

  
  
  public function executeCreateIngreso(sfWebRequest $request)
  {
    
    $this->forward404Unless($request->isMethod(sfRequest::POST));

    $this->formIngreso = new OperadoresIngresoForm();

    $this->processFormIngreso($request, $this->formIngreso);

    
    $this->fechaRuta = date('Y-m-d');
        
        
        $camioneta = new Camioneta();
        $this->camioneta = $camioneta->getCamionetaGuardUser($this->getUser()->getGuardUser()->getId());
        $this->camioneta_id = $this->camioneta->getId();
        
        $agendado = new Agendado();
        $this->agendado = $agendado->getAgendadoRutaImpMovil($this->camioneta_id, $this->fechaRuta);
        
        
    $this->setTemplate('servicio');
    
   
      
  }
  
  protected function processFormIngreso(sfWebRequest $request, sfForm $form)
  {
    $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
    if ($form->isValid())
    {
        //Validacion para evitar duplicados servicios
        
        $agendado = new OperadoresIngreso();
        $agendado = $agendado->getOperadoresIngresoId($request->getParameter('agendadoid'));
        
        if($agendado){
            $this->redirect('dashboard/servicio?agendado_id='.$request->getParameter('agendadoid').'&confirmacion_id='.$request->getParameter('confirmacion_id'));
        }else{
            $formsave = $form->save();
            $this->redirect('dashboard/servicio?agendado_id='.$formsave->getAgendadoId().'&confirmacion_id='.$request->getParameter('confirmacion_id'));
        }
    }
  }
  
  
  public function executeInventario(sfWebRequest $request)
  {
     
         
   
    
    $this->fechaRuta = date('Y-m-d');
    //$this->fechaRuta = '2013-10-10';
    
    $camioneta = new Camioneta();
    $this->camioneta = $camioneta->getCamionetaGuardUser($this->getUser()->getGuardUser()->getId());
    $this->camioneta_id = $this->camioneta->getId();
     
    $agendado = new Agendado();
    $this->agendados = $agendado->getAgendadoRutaImpCompleto($this->camioneta_id, $this->fechaRuta);
      
    
    
  }
  
  
 

  
}
